package com.fuyao.cloud.admin.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 人员信息
 *
 * @author 碎月
 * @date 2021-12-16 10:32:13
 */
@Data
@TableName("sys_userinfo")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "人员信息")
public class SysUserinfo extends Model<SysUserinfo> {

    private static final long serialVersionUID = 1L;
    /**
     * 主键ID
     */
    @TableId
    @ApiModelProperty(value="主键ID")
    private Long id;

    /**
     * 创建人ID
     */
    @ApiModelProperty(value="创建人ID")
    @TableField(fill = FieldFill.INSERT)
    private Long createId;

    /**
     * 创建人姓名
     */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建人姓名")
    private String createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 创建人所属OU的ID
     */
    @ApiModelProperty(value="创建人所属OU的ID")
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;

    /**
     * 创建人所属OU的全称
     */
    @ApiModelProperty(value="创建人所属OU的全称")
    @TableField(fill = FieldFill.INSERT)
    private String deptFullname;

    /**
     * 最后修改人信息
     */
    @ApiModelProperty(value="最后修改人信息")
    @TableField(fill = FieldFill.UPDATE)
    private String updateBy;

    /**
     * 最后修改时间
     */
    @ApiModelProperty(value="最后修改时间")
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;

    /**
     * 租户ID
     */
    @ApiModelProperty(value="租户ID")
    private Long tenantId;

    /**
     * 数据删除标记
     * 0-正常，1-删除
     */
    @TableLogic
    @ApiModelProperty(value="数据删除标记")
    private String delFlag;

    /**
     * 用户ID
     */
    @ApiModelProperty(value="用户ID")
    private Long userId;

    /**
     * 人员编号
     */
    @ApiModelProperty(value="人员编号")
    private String personNumber;

    /**
     * 用户名称
     */
    @ApiModelProperty(value="用户名称")
    private String loginname;

    /**
     * 姓名
     */
    @ApiModelProperty(value="姓名")
    private String name;

    /**
     * 出生日期
     */
    @ApiModelProperty(value="出生日期")
    private LocalDate birthday;

    /**
     * 籍贯
     */
    @ApiModelProperty(value="籍贯")
    private String nativePlace;

    /**
     * 户口所在地
     */
    @ApiModelProperty(value="户口所在地")
    private String hukou;

    /**
     * 入职本单位时间
     */
    @ApiModelProperty(value="入职本单位时间")
    private LocalDate enterdeptDate;

    /**
     * 婚姻状况
     */
    @ApiModelProperty(value="婚姻状况")
    private String maritalStatus;

    /**
     * 身份证号码
     */
    @ApiModelProperty(value="身份证号码")
    private String idNumber;

    /**
     * 民族
     */
    @ApiModelProperty(value="民族")
    private String nation;

    /**
     * 出生地
     */
    @ApiModelProperty(value="出生地")
    private String birthplace;

    /**
     * 参加工作时间
     */
    @ApiModelProperty(value="参加工作时间")
    private LocalDate workdate;

    /**
     * 健康状况
     */
    @ApiModelProperty(value="健康状况")
    private String health;

    /**
     * 最高学历
     */
    @ApiModelProperty(value="最高学历")
    private String degree;

    /**
     * 人员状态
     */
    @ApiModelProperty(value="人员状态")
    private String status;

    /**
     * 人员类型
     */
    @ApiModelProperty(value="人员类型")
    private String type;

    /**
     * 电话号码
     */
    @ApiModelProperty(value="电话号码")
    private String telephone;

    /**
     * 手机号码
     */
    @ApiModelProperty(value="手机号码")
    private String mobile;

    /**
     * 职    务
     */
    @ApiModelProperty(value="职    务")
    private String post;

    /**
     * 性别
     * 0：女 1：男 2：其他
     */
    @ApiModelProperty(value="性别")
    private String gender;

    /**
     * 退休日期
     */
    @ApiModelProperty(value="退休日期")
    private LocalDate retireDate;

    /**
     * 职称
     */
    @ApiModelProperty(value = "职称")
    private String profesTitle;

    /**
     * 电子邮件
     */
    @ApiModelProperty(value = "电子邮件")
    private String email;

    /**
     * 传真
     */
    @ApiModelProperty(value = "传真")
    private String faxno;

    /**
     * 工号
     */
    @ApiModelProperty(value = "工号")
    private String cardId;
}
